package com.yami.shop.bean.app.param;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class CreateOrderRequest {

    /**
     * 订单类型（ 1:自营实物订单，2虚拟卡券订单，3：直充产品订单，4：京东实物订单 ）
     */
    @JsonProperty(value = "isvirtual")
    private String orderType;

    /**
     * 三方客户订单编号
     */
    private String orderId;

    /**
     * 客户手机
     */
    @JsonProperty(value = "shouhuo_phone")
    private String cellphone;

    /**
     * 收货人姓名，实物类订单必选
     */
    @JsonProperty(value = "shouhuo_name")
    private String name;

    /**
     * 收货地址区域（level1）实物类订单必选
     */
    private String provinceId;

    /**
     * 收货地址区域（level2）实物类订单必选
     */
    private String cityId;

    /**
     * 收货地址区域（level3）实物类订单必选
     */
    private String countyId;

    /**
     * 收货地址区域（level4）实物类订单必选
     */
    private String townId;

    /**
     * 收货详细地址，实物订单必选
     */
    @JsonProperty(value = "shouhuo_addr")
    private String address;

    /**
     * 收货地址区域选项类型，实物订单必选1：地址库ID，2：文字
     */
    @JsonProperty(value = "addr_type")
    private String addressType;

    /**
     * 备用电话
     */
    @JsonProperty(value = "shouhuo_tel")
    private String tel;

    /**
     * 邮编
     */
    @JsonProperty(value = "shouhuo_zipcode")
    private String zipCode;

    /**
     * 订单备注
     */
    private String note;

    /**
     * 是否发送出货短信提示，1：发送，0：不发送
     */
    private String sendcms;

    /**
     * 订单商品信息（二维数组）卡券|直充订单只能为单一商品
     */
    private List<ProductLine> products;

}
